//引入express模块
const express=require('express');
//引入连接池对象
const pool=require('../pool.js');
//创建路由器对象
const de=express.Router();
//1.添加用户订单
de.post('/',(req,res,next)=>{
  //1.1获取post请求的数据
  let obj=req.body;
  //1.2循环验证
  let i=400;
  for (let k in obj){
	i++;
    if(!obj[k]){
	  res.send({code:i,msg:k+'不能为空'});
	  return;
	}
  }
  //1.5执行SQL命令
  pool.query('insert into tm_order_detail set?',[obj],(err,result)=>{
    if(err){
	  console.log(err);
	  next(err);
	  return;
	}
	if(result.affectedRows===0){
	  res.send({code:201,msg:'添加失败'});
	}else{
	  res.send({code:200,msg:'添加成功'});
	}
  });
});
//2.删除用户订单信息
de.delete('/:did',(req,res,next)=>{
	//获取路由传参的数据
	let obj=req.params;
	console.log(obj.aid);
	//执行SQL命令
	pool.query('delete from tm_order_detail where did=?',[obj.did],(err,result)=>{
		if(err){
			console.log(err);
			next(err);
			return;
		}
		if(result.affectedRows===0){
			res.send({code:201,msg:'删除失败'});
		}else{
			res.send({code:200,msg:'删除成功'});
		}
	})
})
//3.修改用户订单
de.put('/',(req,res,next)=>{
  //3.1获取传递的数据
  let obj=req.body;
  //3.2循环验证
  let i=400;
  for(let k in obj){
    i++;
	if(!obj[k]){
	  res.send({code:i,msg:k+'不能为空'});
	  return;
	}
  }
  //3.5执行SQL命令
  pool.query('update tm_order_detail set?where merchant_name=?',[obj,obj.merchant_name],(err,result)=>{
	  console.log(err);
    if(err){
	  next(err);
	  return;
	}
	if(result.affectedRows===0){
	  res.send({code:201,msg:'修改失败'});
	}else{
	  res.send({code:200,msg:'修改成功',data:result});
	}
  });
})
//4.查询用户订单
de.get('/',(req,res,next)=>{
  //4.1获取查询字符串的数据
  let obj=req.query;
  //4.2判断是否为空，如果为空设置默认值
  if(!obj.pno) obj.pno=1;//默认第一页
  if(!obj.count)  obj.count=2;
  //计算开始的值
  let start=(obj.pno-1)*obj.count;
  //将每页的数据量转为整型
  let size=parseInt(obj.count);
  //4.3执行SQL命令
  pool.query('select * from tm_order_detail where merchant_name=? and user_id=?',[obj.merchant_name,obj.user_id],(err,result)=>{
	  console.log(err);
    if(err){
	  next(err);
	  return;
	}
	res.send({
	  code:200,
	  msg:'查询成功',
	  data:result
	});
  });
});
// 5.查询用户订单里有几家店铺
de.get('/merchant',(req,res,next)=>{
	//4.1获取查询字符串的数据
	let obj=req.query;
	//4.2判断是否为空，如果为空设置默认值
	if(!obj.pno) obj.pno=1;//默认第一页
	if(!obj.count)  obj.count=2;
	//计算开始的值
	let start=(obj.pno-1)*obj.count;
	//将每页的数据量转为整型
	let size=parseInt(obj.count);
	//4.3执行SQL命令
	pool.query('select distinct merchant_name from tm_order_detail where user_id=?',[obj.user_id],(err,result)=>{
		console.log(err);
	  if(err){
		next(err);
		return;
	  }
	  res.send({
		code:200,
		msg:'查询成功',
		data:result
	  });
	});
  });
// 6.查询特定的店铺图片
de.get('/img',(req,res,next)=>{
	//4.1获取查询字符串的数据
	let obj=req.query;
	//4.2判断是否为空，如果为空设置默认值
	if(!obj.pno) obj.pno=1;//默认第一页
	if(!obj.count)  obj.count=2;
	//计算开始的值
	let start=(obj.pno-1)*obj.count;
	//将每页的数据量转为整型
	let size=parseInt(obj.count);
	//4.3执行SQL命令
	pool.query('select distinct img from tm_order_detail where merchant_name=? and user_id=?',[obj.merchant_name,obj.user_id],(err,result)=>{
		console.log(err);
	  if(err){
		next(err);
		return;
	  }
	  res.send({
		code:200,
		msg:'查询成功',
		data:result
	  });
	});
  });
//   计算总共几件商品
de.get('/count',(req,res,next)=>{
	//4.1获取查询字符串的数据
	let obj=req.query;
	//4.2判断是否为空，如果为空设置默认值
	if(!obj.pno) obj.pno=1;//默认第一页
	if(!obj.count)  obj.count=2;
	//计算开始的值
	let start=(obj.pno-1)*obj.count;
	//将每页的数据量转为整型
	let size=parseInt(obj.count);
	//4.3执行SQL命令
	pool.query('select sum(count) from tm_order_detail where merchant_name=? and user_id=?',[obj.merchant_name,obj.user_id],(err,result)=>{
		console.log(err);
	  if(err){
		next(err);
		return;
	  }
	  res.send({
		code:200,
		msg:'查询成功',
		data:result
	  });
	});
  });
//   计算每家店铺的总价
  de.get('/total',(req,res,next)=>{
	//4.1获取查询字符串的数据
	let obj=req.query;
	//4.2判断是否为空，如果为空设置默认值
	if(!obj.pno) obj.pno=1;//默认第一页
	if(!obj.count)  obj.count=2;
	//计算开始的值
	let start=(obj.pno-1)*obj.count;
	//将每页的数据量转为整型
	let size=parseInt(obj.count);
	//4.3执行SQL命令
	pool.query('select sum(count*price) from tm_order_detail where merchant_name=? and user_id=?',[obj.merchant_name,obj.user_id],(err,result)=>{
		console.log(err);
	  if(err){
		next(err);
		return;
	  }
	  res.send({
		code:200,
		msg:'查询成功',
		data:result
	  });
	});
  });
//   查询未评价的店铺
de.get('/comment',(req,res,next)=>{
	//4.1获取查询字符串的数据
	let obj=req.query;
	//4.2判断是否为空，如果为空设置默认值
	if(!obj.pno) obj.pno=1;//默认第一页
	if(!obj.count)  obj.count=2;
	//计算开始的值
	let start=(obj.pno-1)*obj.count;
	//将每页的数据量转为整型
	let size=parseInt(obj.count);
	//4.3执行SQL命令
	pool.query('select distinct merchant_name from tm_order_detail where user_id=? and iscomment=0',[obj.user_id],(err,result)=>{
		console.log(err);
	  if(err){
		next(err);
		return;
	  }
	  res.send({
		code:200,
		msg:'查询成功',
		data:result
	  });
	});
  });
//导出路由器
module.exports=de;



